package com.nowcoder.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.nowcoder.entity.Message;
import org.apache.ibatis.annotations.Select;

import java.util.List;

public interface MessageService extends IService<Message> {

    /**
     * 查询当前用户的会话列表，针对每个会话只返回最新的一条
     * @param uid
     * @param offset
     * @param limit
     * @return
     */
    public List<Message> selectConversations(String uid, int offset, int limit);

    /**
     * 查询当前用户的会话数量
     * @param uid
     * @return
     */
    public int selectConversationCount(String uid);

    /**
     * 查询某个会话所包含的私信列表
     * @param conversationId
     * @param offset
     * @param limit
     * @return
     */
    public List<Message> selectLetters(String conversationId, int offset, int limit);

    /**
     * 查询某个会话所包含的私信数量
     * @param conversationId
     * @return
     */
    public int selectLetterCount(String conversationId);

    /**
     * 查询未读私信的数量
     * @param uid
     * @param conversationId
     * @return
     */
    public int selectLetterUnreadCount(String uid, String conversationId);

    /**
     * 新建一条私信
     * @param message
     * @return
     */
    public int insertMessage(Message message);

    /**
     * 修改私信状态
     * @param ids
     * @param status
     * @return
     */
    public int updateStatus(List<Integer> ids, int status);
}
